package com.letian.im.mapper;

import java.util.List;

import com.letian.im.domain.ImMessage;
import org.apache.ibatis.annotations.Param;

/**
 * 聊天信息Mapper接口
 *
 * @author bmz
 * @date 2024-01-28
 */
public interface ImMessageMapper {
    /**
     * 查询聊天信息
     *
     * @param id 聊天信息主键
     * @return 聊天信息
     */
    public ImMessage selectImMessageById(Long id);

    /**
     * 查询聊天信息列表
     *
     * @param imMessage 聊天信息
     * @return 聊天信息集合
     */
    public List<ImMessage> selectImMessageList(ImMessage imMessage);

    /**
     * 聊天信息
     *
     * @param fromId 用户
     * @param toId   用户
     * @return 结果
     */
    public List<ImMessage> queryMessageByFromToUserId(@Param("fromId") Long fromId, @Param("toId") Long toId);

    /**
     * 新增聊天信息
     *
     * @param imMessage 聊天信息
     * @return 结果
     */
    public int insertImMessage(ImMessage imMessage);

    /**
     * 修改聊天信息
     *
     * @param imMessage 聊天信息
     * @return 结果
     */
    public int updateImMessage(ImMessage imMessage);

    /**
     * 删除聊天信息
     *
     * @param id 聊天信息主键
     * @return 结果
     */
    public int deleteImMessageById(Long id);

    /**
     * 批量删除聊天信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteImMessageByIds(Long[] ids);
}
